[INFO] fetching crate unified-minijinja 0.0.2...
[INFO] fixing unified-minijinja-0.0.2 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate unified-minijinja 0.0.2 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate unified-minijinja 0.0.2
[INFO] finished tweaking crates.io crate unified-minijinja 0.0.2
[INFO] tweaked toml for crates.io crate unified-minijinja 0.0.2 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate unified-minijinja 0.0.2 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 65 packages to latest compatible versions
[INFO] [stderr]       Adding indexmap v1.9.3 (available: v2.14.0)
[INFO] [stderr]       Adding similar-asserts v1.7.0 (available: v2.0.0)
[INFO] [stderr]       Adding v_htmlescape v0.15.8 (available: v0.17.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b01983eadf2206d821a0f124769ae173883e3cb21c097091d5146a81f654fe9d
[INFO] running `Command { std: "docker" "start" "b01983eadf2206d821a0f124769ae173883e3cb21c097091d5146a81f654fe9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b01983eadf2206d821a0f124769ae173883e3cb21c097091d5146a81f654fe9d" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b01983eadf2206d821a0f124769ae173883e3cb21c097091d5146a81f654fe9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b01983eadf2206d821a0f124769ae173883e3cb21c097091d5146a81f654fe9d" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking console v0.16.3
[INFO] [stderr]     Checking unified-minijinja v0.0.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking similar-asserts v1.7.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking globset v0.4.18
[INFO] [stderr]     Checking insta v1.48.0
[INFO] [stderr]        Fixed src/compiler/parser.rs (15 fixes)
[INFO] [stderr]        Fixed src/template.rs (5 fixes)
[INFO] [stderr]        Fixed src/value/mod.rs (15 fixes)
[INFO] [stderr]        Fixed src/utils.rs (1 fix)
[INFO] [stderr]        Fixed src/value/ops.rs (2 fixes)
[INFO] [stderr]        Fixed src/vm/mod.rs (5 fixes)
[INFO] [stderr]        Fixed src/macros.rs (19 fixes)
[INFO] [stderr]        Fixed src/environment.rs (3 fixes)
[INFO] [stderr]        Fixed src/functions.rs (1 fix)
[INFO] [stderr]        Fixed src/value/argtypes.rs (2 fixes)
[INFO] [stderr]        Fixed src/filters.rs (4 fixes)
[INFO] [stderr]        Fixed src/compiler/codegen.rs (9 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:251:30
[INFO] [stdout]     |
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 249 |                 let expr2 = ok!(self.parse_or());
[INFO] [stdout]     |                                 ---------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 250 |                 let expr3 = if skip_token!(self, Token::Ident("else")) {
[INFO] [stdout] 251 |                     Some(ok!(self.parse_ifexpr()))
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                              up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 252 |                 } else {
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:440:29
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 436 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 440 |                         ok!(self.parse_args())
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                             up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 441 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 454 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:459:29
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 436 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 454 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 459 |                         ok!(self.parse_args())
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                             up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 460 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:434:23
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 434 |             match ok!(self.stream.current()) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                       up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 435 |                 Some((Token::Pipe, _)) => {
[INFO] [stdout] 436 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 454 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 479 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:728:21
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |               `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 724 |                 let rv = ok!(self.parse_assignment());
[INFO] [stdout]     |                              -----------------------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 728 |                 ok!(self.parse_assign_name())
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                     up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 729 |             });
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:814:21
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 810 |                 let assign = ok!(self.parse_assignment());
[INFO] [stdout]     |                                  -----------------------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                  `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 814 |                 ok!(self.parse_assign_name())
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                     up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 815 |             };
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 816 |             expect_token!(self, Token::Assign, "assignment operator");
[INFO] [stdout] 817 |             let expr = ok!(self.parse_expr());
[INFO] [stdout]     |                            -----------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:901:21
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 901 |                 ok!(self.parse_args())
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 902 |             } else {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:982:26
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 980 |             let name = ok!(self.parse_assign_name());
[INFO] [stdout]     |                            ------------------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 981 |             let alias = if skip_token!(self, Token::Ident("as")) {
[INFO] [stdout] 982 |                 Some(ok!(self.parse_assign_name()))
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                          up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 983 |             } else {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/context.rs:172:52
[INFO] [stdout]     |
[INFO] [stdout] 169 |                     for key in iter {
[INFO] [stdout]     |                         ---    ----
[INFO] [stdout]     |                         |      |
[INFO] [stdout]     |                         |      `iter` calls a custom destructor
[INFO] [stdout]     |                         |      `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `key` calls a custom destructor
[INFO] [stdout]     |                         `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |                                 if let Ok(value) = frame.ctx.get_item(&key) {
[INFO] [stdout]     |                                           -----    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |        |
[INFO] [stdout]     |                                           |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                           |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                           `value` calls a custom destructor
[INFO] [stdout]     |                                           `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 176 |                             }
[INFO] [stdout]     |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/context.rs:168:35
[INFO] [stdout]     |
[INFO] [stdout] 168 |                 if let Ok(iter) = frame.ctx.try_iter() {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 169 |                     for key in iter {
[INFO] [stdout]     |                         ---    ----
[INFO] [stdout]     |                         |      |
[INFO] [stdout]     |                         |      `iter` calls a custom destructor
[INFO] [stdout]     |                         |      `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `key` calls a custom destructor
[INFO] [stdout]     |                         `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |                                 if let Ok(value) = frame.ctx.get_item(&key) {
[INFO] [stdout]     |                                           -----
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `value` calls a custom destructor
[INFO] [stdout]     |                                           `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 180 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/mod.rs:430:49
[INFO] [stdout]     |
[INFO] [stdout] 198 |                   let jump_target = ctx_ok!(self.prepare_loop_recursion(state));
[INFO] [stdout]     |                                             ----------------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                                             `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                                             `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |                       out.end_capture(AutoEscape::None);
[INFO] [stdout]     |                       ---------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 240 |               let a;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `a` calls a custom destructor
[INFO] [stdout]     |                   `a` will be dropped later as of Edition 2024
[INFO] [stdout] 241 |               let b;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `b` calls a custom destructor
[INFO] [stdout]     |                   `b` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 248 |                       stack.push(ctx_ok!(ops::$method(&a, &b)));
[INFO] [stdout]     |                                               ---------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                               `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                               `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                               `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                               `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                               `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 270 | /                     match $expr {
[INFO] [stdout] 271 | |                         Ok(rv) => rv,
[INFO] [stdout] 272 | |                         Err(err) => bail!(err),
[INFO] [stdout] 273 | |                     }
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     |                       `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 304 |                       ok!(out.write_str(val).map_err(Error::from));
[INFO] [stdout]     |                           ---------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 307 |                       ctx_ok!(self.env.format(&stack.pop(), state, out));
[INFO] [stdout]     |                               -----------------------------------------
[INFO] [stdout]     |                               |                |
[INFO] [stdout]     |                               |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 324 |                       stack.push(match a.get_attr_fast(name) {
[INFO] [stdout]     |                                        ---------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                        `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 325 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 326 |                           None => ctx_ok!(undefined_behavior.handle_undefined(a.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 344 |                       stack.push(match b.get_item_opt(&a) {
[INFO] [stdout]     |                                        ------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 345 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 346 |                           None => ctx_ok!(undefined_behavior.handle_undefined(b.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 357 |                       stack.push(ctx_ok!(ops::slice(a, b, stop, step)));
[INFO] [stdout]     |                                          ----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                          `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 367 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                           `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 376 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                           `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 390 |                       ctx_ok!(self.unpack_list(&mut stack, *count));
[INFO] [stdout]     |                               ------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                               `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 419 |                       ctx_ok!(state.undefined_behavior().assert_iterable(&a));
[INFO] [stdout]     |                               ----------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                               `#20` will be dropped later as of Edition 2024
[INFO] [stdout] 420 |                       stack.push(ctx_ok!(ops::contains(&a, &b)));
[INFO] [stdout]     |                                          ---------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                          `#21` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 424 |                       stack.push(ctx_ok!(ops::neg(&a)));
[INFO] [stdout]     |                                          ------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                          `#22` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |                       ctx_ok!(state.ctx.push_frame(Frame::default()));
[INFO] [stdout]     |                               --------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                               `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 430 |                       if let Some(mut loop_ctx) = state.ctx.pop_frame().current_loop {
[INFO] [stdout]     |                                   ------------    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |               |
[INFO] [stdout]     |                                   |               this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                                   |               up until Edition 2021 `#46` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `loop_ctx` calls a custom destructor
[INFO] [stdout]     |                                   `loop_ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 440 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 448 |                       ctx_ok!(self.push_loop(state, a, *flags, pc, next_loop_recursion_jump.take()));
[INFO] [stdout]     |                               ---------------------------------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                               `#24` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 454 |                       let next = {
[INFO] [stdout]     |                           ----
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `next` calls a custom destructor
[INFO] [stdout]     |                           `next` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 457 |                               let mut triple = l.object.value_triple.lock().unwrap();
[INFO] [stdout]     |                                   ----------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `triple` calls a custom destructor
[INFO] [stdout]     |                                   `triple` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 496 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                           `#25` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 504 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                           `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 510 |                           self.call_block(name, state, out)?;
[INFO] [stdout]     |                           ----------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                           `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                           `#28` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 516 |                       state.auto_escape = ctx_ok!(self.derive_auto_escape(a, initial_auto_escape));
[INFO] [stdout]     |                                                   -----------------------------------------------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                                                   `#29` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 529 |                           ctx_ok!(get_or_lookup_local(&mut loaded_filters, *local_id, || {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]     | |_________________________________|
[INFO] [stdout] 530 | |                             state.env.get_filter(name)
[INFO] [stdout] 531 | |                         })
[INFO] [stdout] 532 | |                         .ok_or_else(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 537 | |                         }));
[INFO] [stdout]     | |                          -
[INFO] [stdout]     | |__________________________|
[INFO] [stdout]     | |__________________________this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                            `#30` will be dropped later as of Edition 2024
[INFO] [stdout] 538 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 539 | |                     a = ctx_ok!(filter.apply_to(state, args));
[INFO] [stdout]     | |                                 ----------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     | |                                 `#31` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 544 |                       let test = ctx_ok!(get_or_lookup_local(&mut loaded_tests, *local_id, || {
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]     | |________________________________________|
[INFO] [stdout] 545 | |                         state.env.get_test(name)
[INFO] [stdout] 546 | |                     })
[INFO] [stdout] 547 | |                     .ok_or_else(|| {
[INFO] [stdout] 548 | |                         Error::new(ErrorKind::UnknownTest, format!("test {name} is unknown"))
[INFO] [stdout] 549 | |                     }));
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |______________________|
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     |                        `#32` will be dropped later as of Edition 2024
[INFO] [stdout] 550 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 551 | |                     let rv = ctx_ok!(test.perform(state, args));
[INFO] [stdout]     | |                                      -------------------------
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |                                      this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     | |                                      `#33` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 564 | |                         stack.push(ctx_ok!(self.perform_super(state, out, true)));
[INFO] [stdout]     | |                                            ------------------------------------
[INFO] [stdout]     | |                                            |
[INFO] [stdout]     | |                                            this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     | |                                            `#34` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |                     } else { match state.lookup(name) { Some(func) => {
[INFO] [stdout]     | |                                                              ----
[INFO] [stdout]     | |                                                              |
[INFO] [stdout]     | |                                                              `func` calls a custom destructor
[INFO] [stdout]     | |                                                              `func` will be dropped later as of Edition 2024
[INFO] [stdout] 576 | |                         let args = stack.slice_top(*arg_count);
[INFO] [stdout] 577 | |                         a = ctx_ok!(func.call(state, args));
[INFO] [stdout]     | |                                     ----------------------
[INFO] [stdout]     | |                                     |
[INFO] [stdout]     | |                                     this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     | |                                     `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 589 | |                     a = ctx_ok!(args[0].call_method(state, name, &args[1..]));
[INFO] [stdout]     | |                                 --------------------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     | |                                 `#37` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 595 | |                     a = ctx_ok!(args[0].call(state, &args[1..]));
[INFO] [stdout]     | |                                 -------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     | |                                 `#38` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 603 | |                     stack.pop();
[INFO] [stdout]     | |                     -----------
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     | |                     `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 606 | |                     ctx_ok!(self.perform_super(state, out, false));
[INFO] [stdout]     | |                             -------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     | |                             `#41` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 643 | |                     parent_instructions = Some(ctx_ok!(self.load_blocks(a, state)));
[INFO] [stdout]     | |                                                        --------------------------
[INFO] [stdout]     | |                                                        |
[INFO] [stdout]     | |                                                        this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     | |                                                        `#43` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 649 | |                     ctx_ok!(self.perform_include(a, state, out, *ignore_missing));
[INFO] [stdout]     | |                             ----------------------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     | |                             `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 656 | |                         module.insert(Value::from(*key), value.clone());
[INFO] [stdout]     | |                         -----------------------------------------------
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     | |                         `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#20` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#23` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `loop_ctx` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `loop_ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `next` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `triple` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#29` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#32` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#32` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#35` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#35` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `func` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#38` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#38` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#41` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#41` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#43` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#43` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#45` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/mod.rs:575:36
[INFO] [stdout]     |
[INFO] [stdout] 198 |                   let jump_target = ctx_ok!(self.prepare_loop_recursion(state));
[INFO] [stdout]     |                                             ----------------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                                             `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                                             `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |                       out.end_capture(AutoEscape::None);
[INFO] [stdout]     |                       ---------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 240 |               let a;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `a` calls a custom destructor
[INFO] [stdout]     |                   `a` will be dropped later as of Edition 2024
[INFO] [stdout] 241 |               let b;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `b` calls a custom destructor
[INFO] [stdout]     |                   `b` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 248 |                       stack.push(ctx_ok!(ops::$method(&a, &b)));
[INFO] [stdout]     |                                               ---------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                               `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                               `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                               `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                               `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                               `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 270 | /                     match $expr {
[INFO] [stdout] 271 | |                         Ok(rv) => rv,
[INFO] [stdout] 272 | |                         Err(err) => bail!(err),
[INFO] [stdout] 273 | |                     }
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     |                       `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 304 |                       ok!(out.write_str(val).map_err(Error::from));
[INFO] [stdout]     |                           ---------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 307 |                       ctx_ok!(self.env.format(&stack.pop(), state, out));
[INFO] [stdout]     |                               -----------------------------------------
[INFO] [stdout]     |                               |                |
[INFO] [stdout]     |                               |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 324 |                       stack.push(match a.get_attr_fast(name) {
[INFO] [stdout]     |                                        ---------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                        `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 325 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 326 |                           None => ctx_ok!(undefined_behavior.handle_undefined(a.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 344 |                       stack.push(match b.get_item_opt(&a) {
[INFO] [stdout]     |                                        ------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 345 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 346 |                           None => ctx_ok!(undefined_behavior.handle_undefined(b.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 357 |                       stack.push(ctx_ok!(ops::slice(a, b, stop, step)));
[INFO] [stdout]     |                                          ----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                          `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 367 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                           `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 376 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                           `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 390 |                       ctx_ok!(self.unpack_list(&mut stack, *count));
[INFO] [stdout]     |                               ------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                               `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 419 |                       ctx_ok!(state.undefined_behavior().assert_iterable(&a));
[INFO] [stdout]     |                               ----------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                               `#20` will be dropped later as of Edition 2024
[INFO] [stdout] 420 |                       stack.push(ctx_ok!(ops::contains(&a, &b)));
[INFO] [stdout]     |                                          ---------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                          `#21` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 424 |                       stack.push(ctx_ok!(ops::neg(&a)));
[INFO] [stdout]     |                                          ------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                          `#22` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |                       ctx_ok!(state.ctx.push_frame(Frame::default()));
[INFO] [stdout]     |                               --------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                               `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 430 |                       if let Some(mut loop_ctx) = state.ctx.pop_frame().current_loop {
[INFO] [stdout]     |                                   ------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `loop_ctx` calls a custom destructor
[INFO] [stdout]     |                                   `loop_ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 448 |                       ctx_ok!(self.push_loop(state, a, *flags, pc, next_loop_recursion_jump.take()));
[INFO] [stdout]     |                               ---------------------------------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                               `#24` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 454 |                       let next = {
[INFO] [stdout]     |                           ----
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `next` calls a custom destructor
[INFO] [stdout]     |                           `next` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 457 |                               let mut triple = l.object.value_triple.lock().unwrap();
[INFO] [stdout]     |                                   ----------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `triple` calls a custom destructor
[INFO] [stdout]     |                                   `triple` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 496 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                           `#25` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 504 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                           `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 510 |                           self.call_block(name, state, out)?;
[INFO] [stdout]     |                           ----------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                           `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                           `#28` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 516 |                       state.auto_escape = ctx_ok!(self.derive_auto_escape(a, initial_auto_escape));
[INFO] [stdout]     |                                                   -----------------------------------------------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                                                   `#29` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 529 |                           ctx_ok!(get_or_lookup_local(&mut loaded_filters, *local_id, || {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]     | |_________________________________|
[INFO] [stdout] 530 | |                             state.env.get_filter(name)
[INFO] [stdout] 531 | |                         })
[INFO] [stdout] 532 | |                         .ok_or_else(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 537 | |                         }));
[INFO] [stdout]     | |                          -
[INFO] [stdout]     | |__________________________|
[INFO] [stdout]     | |__________________________this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                            `#30` will be dropped later as of Edition 2024
[INFO] [stdout] 538 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 539 | |                     a = ctx_ok!(filter.apply_to(state, args));
[INFO] [stdout]     | |                                 ----------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     | |                                 `#31` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 544 |                       let test = ctx_ok!(get_or_lookup_local(&mut loaded_tests, *local_id, || {
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]     | |________________________________________|
[INFO] [stdout] 545 | |                         state.env.get_test(name)
[INFO] [stdout] 546 | |                     })
[INFO] [stdout] 547 | |                     .ok_or_else(|| {
[INFO] [stdout] 548 | |                         Error::new(ErrorKind::UnknownTest, format!("test {name} is unknown"))
[INFO] [stdout] 549 | |                     }));
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |______________________|
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     |                        `#32` will be dropped later as of Edition 2024
[INFO] [stdout] 550 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 551 | |                     let rv = ctx_ok!(test.perform(state, args));
[INFO] [stdout]     | |                                      -------------------------
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |                                      this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     | |                                      `#33` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 564 | |                         stack.push(ctx_ok!(self.perform_super(state, out, true)));
[INFO] [stdout]     | |                                            ------------------------------------
[INFO] [stdout]     | |                                            |
[INFO] [stdout]     | |                                            this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     | |                                            `#34` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |                     } else { match state.lookup(name) { Some(func) => {
[INFO] [stdout]     | |                                    ^^^^^^^^^^^^^^^^^^        ----
[INFO] [stdout]     | |                                    |                         |
[INFO] [stdout]     | |                                    |                         `func` calls a custom destructor
[INFO] [stdout]     | |                                    |                         `func` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                    this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     | |                                    up until Edition 2021 `#46` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 576 | |                         let args = stack.slice_top(*arg_count);
[INFO] [stdout] 577 | |                         a = ctx_ok!(func.call(state, args));
[INFO] [stdout]     | |                                     ----------------------
[INFO] [stdout]     | |                                     |
[INFO] [stdout]     | |                                     this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     | |                                     `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 585 | |                     }}}
[INFO] [stdout]     | |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 589 | |                     a = ctx_ok!(args[0].call_method(state, name, &args[1..]));
[INFO] [stdout]     | |                                 --------------------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     | |                                 `#37` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 595 | |                     a = ctx_ok!(args[0].call(state, &args[1..]));
[INFO] [stdout]     | |                                 -------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     | |                                 `#38` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 603 | |                     stack.pop();
[INFO] [stdout]     | |                     -----------
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     | |                     `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 606 | |                     ctx_ok!(self.perform_super(state, out, false));
[INFO] [stdout]     | |                             -------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     | |                             `#41` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 643 | |                     parent_instructions = Some(ctx_ok!(self.load_blocks(a, state)));
[INFO] [stdout]     | |                                                        --------------------------
[INFO] [stdout]     | |                                                        |
[INFO] [stdout]     | |                                                        this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     | |                                                        `#43` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 649 | |                     ctx_ok!(self.perform_include(a, state, out, *ignore_missing));
[INFO] [stdout]     | |                             ----------------------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     | |                             `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 656 | |                         module.insert(Value::from(*key), value.clone());
[INFO] [stdout]     | |                         -----------------------------------------------
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     | |                         `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#20` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#23` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `loop_ctx` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `loop_ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `next` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `triple` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#29` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#32` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#32` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#35` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#35` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `func` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#38` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#38` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#41` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#41` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#43` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#43` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#45` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/filters.rs:1120:21
[INFO] [stdout]      |
[INFO] [stdout] 1118 |         for value in ok!(state.undefined_behavior().try_iter(value)) {
[INFO] [stdout]      |             -----    -----------------------------------------------
[INFO] [stdout]      |             |        |
[INFO] [stdout]      |             |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |             |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |             `value` calls a custom destructor
[INFO] [stdout]      |             `value` will be dropped later as of Edition 2024
[INFO] [stdout] 1119 |             let test_value = if let Some(ref attr) = attr {
[INFO] [stdout]      |                 ----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `test_value` calls a custom destructor
[INFO] [stdout]      |                 `test_value` will be dropped later as of Edition 2024
[INFO] [stdout] 1120 |                 ok!(value.get_path(attr))
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1121 |             } else {
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 1125 |                 let new_args = Some(test_value)
[INFO] [stdout]      |                     --------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `new_args` calls a custom destructor
[INFO] [stdout]      |                     `new_args` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:149:9
[INFO] [stdout]      |
[INFO] [stdout]  149 |           impl Drop for $E {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:149:9
[INFO] [stdout]      |
[INFO] [stdout]  149 |           impl Drop for $E {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:149:9
[INFO] [stdout]      |
[INFO] [stdout]  149 |           impl Drop for $E {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `test_value` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:149:9
[INFO] [stdout]      |
[INFO] [stdout]  149 |           impl Drop for $E {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `new_args` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:149:9
[INFO] [stdout]      |
[INFO] [stdout]  149 |           impl Drop for $E {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/filters.rs:1129:21
[INFO] [stdout]      |
[INFO] [stdout] 1125 |                 let new_args = Some(test_value)
[INFO] [stdout]      |                     --------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `new_args` calls a custom destructor
[INFO] [stdout]      |                     `new_args` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1129 |                 ok!(test.perform(state, &new_args))
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1130 |             } else {
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:149:9
[INFO] [stdout]      |
[INFO] [stdout]  149 |           impl Drop for $E {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `new_args` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:149:9
[INFO] [stdout]      |
[INFO] [stdout]  149 |           impl Drop for $E {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:9
[INFO] [stdout]     |
[INFO] [stdout]   7 | /         match $expr {
[INFO] [stdout]   8 | |             Ok(val) => val,
[INFO] [stdout]   9 | |             Err(err) => return Err(err),
[INFO] [stdout]  10 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/deserialize.rs:101:38
[INFO] [stdout]     |
[INFO] [stdout] 101 |           while let Some((k, v)) = ok!(map.next_entry()) {
[INFO] [stdout]     |                                    ---------------------
[INFO] [stdout]     |                                    |   |
[INFO] [stdout]     |                                    |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    |   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    in this macro invocation
[INFO] [stdout] 102 |               rv.insert(k, v);
[INFO] [stdout]     |               ---------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 103 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `ok` which comes from the expansion of the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:251:30
[INFO] [stdout]     |
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 249 |                 let expr2 = ok!(self.parse_or());
[INFO] [stdout]     |                                 ---------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 250 |                 let expr3 = if skip_token!(self, Token::Ident("else")) {
[INFO] [stdout] 251 |                     Some(ok!(self.parse_ifexpr()))
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                              up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 252 |                 } else {
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:440:29
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 436 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 440 |                         ok!(self.parse_args())
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                             up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 441 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 454 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:459:29
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 436 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 454 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 459 |                         ok!(self.parse_args())
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                             up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 460 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:434:23
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 434 |             match ok!(self.stream.current()) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                       up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 435 |                 Some((Token::Pipe, _)) => {
[INFO] [stdout] 436 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 454 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 479 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:728:21
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |               `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 724 |                 let rv = ok!(self.parse_assignment());
[INFO] [stdout]     |                              -----------------------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 728 |                 ok!(self.parse_assign_name())
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                     up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 729 |             });
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:814:21
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 810 |                 let assign = ok!(self.parse_assignment());
[INFO] [stdout]     |                                  -----------------------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                  `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 814 |                 ok!(self.parse_assign_name())
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                     up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 815 |             };
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 816 |             expect_token!(self, Token::Assign, "assignment operator");
[INFO] [stdout] 817 |             let expr = ok!(self.parse_expr());
[INFO] [stdout]     |                            -----------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:901:21
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 901 |                 ok!(self.parse_args())
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 902 |             } else {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:982:26
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 980 |             let name = ok!(self.parse_assign_name());
[INFO] [stdout]     |                            ------------------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 981 |             let alias = if skip_token!(self, Token::Ident("as")) {
[INFO] [stdout] 982 |                 Some(ok!(self.parse_assign_name()))
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                          up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 983 |             } else {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/context.rs:172:52
[INFO] [stdout]     |
[INFO] [stdout] 169 |                     for key in iter {
[INFO] [stdout]     |                         ---    ----
[INFO] [stdout]     |                         |      |
[INFO] [stdout]     |                         |      `iter` calls a custom destructor
[INFO] [stdout]     |                         |      `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `key` calls a custom destructor
[INFO] [stdout]     |                         `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |                                 if let Ok(value) = frame.ctx.get_item(&key) {
[INFO] [stdout]     |                                           -----    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |        |
[INFO] [stdout]     |                                           |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                           |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                           `value` calls a custom destructor
[INFO] [stdout]     |                                           `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 176 |                             }
[INFO] [stdout]     |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/context.rs:168:35
[INFO] [stdout]     |
[INFO] [stdout] 168 |                 if let Ok(iter) = frame.ctx.try_iter() {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 169 |                     for key in iter {
[INFO] [stdout]     |                         ---    ----
[INFO] [stdout]     |                         |      |
[INFO] [stdout]     |                         |      `iter` calls a custom destructor
[INFO] [stdout]     |                         |      `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `key` calls a custom destructor
[INFO] [stdout]     |                         `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |                                 if let Ok(value) = frame.ctx.get_item(&key) {
[INFO] [stdout]     |                                           -----
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `value` calls a custom destructor
[INFO] [stdout]     |                                           `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 180 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/mod.rs:430:49
[INFO] [stdout]     |
[INFO] [stdout] 198 |                   let jump_target = ctx_ok!(self.prepare_loop_recursion(state));
[INFO] [stdout]     |                                             ----------------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                                             `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                                             `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |                       out.end_capture(AutoEscape::None);
[INFO] [stdout]     |                       ---------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 240 |               let a;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `a` calls a custom destructor
[INFO] [stdout]     |                   `a` will be dropped later as of Edition 2024
[INFO] [stdout] 241 |               let b;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `b` calls a custom destructor
[INFO] [stdout]     |                   `b` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 248 |                       stack.push(ctx_ok!(ops::$method(&a, &b)));
[INFO] [stdout]     |                                               ---------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                               `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                               `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                               `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                               `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                               `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 270 | /                     match $expr {
[INFO] [stdout] 271 | |                         Ok(rv) => rv,
[INFO] [stdout] 272 | |                         Err(err) => bail!(err),
[INFO] [stdout] 273 | |                     }
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     |                       `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 304 |                       ok!(out.write_str(val).map_err(Error::from));
[INFO] [stdout]     |                           ---------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 307 |                       ctx_ok!(self.env.format(&stack.pop(), state, out));
[INFO] [stdout]     |                               -----------------------------------------
[INFO] [stdout]     |                               |                |
[INFO] [stdout]     |                               |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 324 |                       stack.push(match a.get_attr_fast(name) {
[INFO] [stdout]     |                                        ---------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                        `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 325 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 326 |                           None => ctx_ok!(undefined_behavior.handle_undefined(a.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 344 |                       stack.push(match b.get_item_opt(&a) {
[INFO] [stdout]     |                                        ------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 345 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 346 |                           None => ctx_ok!(undefined_behavior.handle_undefined(b.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 357 |                       stack.push(ctx_ok!(ops::slice(a, b, stop, step)));
[INFO] [stdout]     |                                          ----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                          `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 367 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                           `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 376 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                           `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 390 |                       ctx_ok!(self.unpack_list(&mut stack, *count));
[INFO] [stdout]     |                               ------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                               `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 419 |                       ctx_ok!(state.undefined_behavior().assert_iterable(&a));
[INFO] [stdout]     |                               ----------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                               `#20` will be dropped later as of Edition 2024
[INFO] [stdout] 420 |                       stack.push(ctx_ok!(ops::contains(&a, &b)));
[INFO] [stdout]     |                                          ---------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                          `#21` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 424 |                       stack.push(ctx_ok!(ops::neg(&a)));
[INFO] [stdout]     |                                          ------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                          `#22` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |                       ctx_ok!(state.ctx.push_frame(Frame::default()));
[INFO] [stdout]     |                               --------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                               `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 430 |                       if let Some(mut loop_ctx) = state.ctx.pop_frame().current_loop {
[INFO] [stdout]     |                                   ------------    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |               |
[INFO] [stdout]     |                                   |               this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                                   |               up until Edition 2021 `#46` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `loop_ctx` calls a custom destructor
[INFO] [stdout]     |                                   `loop_ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 440 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 448 |                       ctx_ok!(self.push_loop(state, a, *flags, pc, next_loop_recursion_jump.take()));
[INFO] [stdout]     |                               ---------------------------------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                               `#24` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 454 |                       let next = {
[INFO] [stdout]     |                           ----
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `next` calls a custom destructor
[INFO] [stdout]     |                           `next` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 457 |                               let mut triple = l.object.value_triple.lock().unwrap();
[INFO] [stdout]     |                                   ----------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `triple` calls a custom destructor
[INFO] [stdout]     |                                   `triple` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 496 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                           `#25` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 504 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                           `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 510 |                           self.call_block(name, state, out)?;
[INFO] [stdout]     |                           ----------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                           `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                           `#28` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 516 |                       state.auto_escape = ctx_ok!(self.derive_auto_escape(a, initial_auto_escape));
[INFO] [stdout]     |                                                   -----------------------------------------------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                                                   `#29` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 529 |                           ctx_ok!(get_or_lookup_local(&mut loaded_filters, *local_id, || {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]     | |_________________________________|
[INFO] [stdout] 530 | |                             state.env.get_filter(name)
[INFO] [stdout] 531 | |                         })
[INFO] [stdout] 532 | |                         .ok_or_else(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 537 | |                         }));
[INFO] [stdout]     | |                          -
[INFO] [stdout]     | |__________________________|
[INFO] [stdout]     | |__________________________this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                            `#30` will be dropped later as of Edition 2024
[INFO] [stdout] 538 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 539 | |                     a = ctx_ok!(filter.apply_to(state, args));
[INFO] [stdout]     | |                                 ----------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     | |                                 `#31` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 544 |                       let test = ctx_ok!(get_or_lookup_local(&mut loaded_tests, *local_id, || {
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]     | |________________________________________|
[INFO] [stdout] 545 | |                         state.env.get_test(name)
[INFO] [stdout] 546 | |                     })
[INFO] [stdout] 547 | |                     .ok_or_else(|| {
[INFO] [stdout] 548 | |                         Error::new(ErrorKind::UnknownTest, format!("test {name} is unknown"))
[INFO] [stdout] 549 | |                     }));
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |______________________|
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     |                        `#32` will be dropped later as of Edition 2024
[INFO] [stdout] 550 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 551 | |                     let rv = ctx_ok!(test.perform(state, args));
[INFO] [stdout]     | |                                      -------------------------
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |                                      this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     | |                                      `#33` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 564 | |                         stack.push(ctx_ok!(self.perform_super(state, out, true)));
[INFO] [stdout]     | |                                            ------------------------------------
[INFO] [stdout]     | |                                            |
[INFO] [stdout]     | |                                            this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     | |                                            `#34` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |                     } else { match state.lookup(name) { Some(func) => {
[INFO] [stdout]     | |                                                              ----
[INFO] [stdout]     | |                                                              |
[INFO] [stdout]     | |                                                              `func` calls a custom destructor
[INFO] [stdout]     | |                                                              `func` will be dropped later as of Edition 2024
[INFO] [stdout] 576 | |                         let args = stack.slice_top(*arg_count);
[INFO] [stdout] 577 | |                         a = ctx_ok!(func.call(state, args));
[INFO] [stdout]     | |                                     ----------------------
[INFO] [stdout]     | |                                     |
[INFO] [stdout]     | |                                     this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     | |                                     `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 589 | |                     a = ctx_ok!(args[0].call_method(state, name, &args[1..]));
[INFO] [stdout]     | |                                 --------------------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     | |                                 `#37` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 595 | |                     a = ctx_ok!(args[0].call(state, &args[1..]));
[INFO] [stdout]     | |                                 -------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     | |                                 `#38` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 603 | |                     stack.pop();
[INFO] [stdout]     | |                     -----------
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     | |                     `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 606 | |                     ctx_ok!(self.perform_super(state, out, false));
[INFO] [stdout]     | |                             -------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     | |                             `#41` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 643 | |                     parent_instructions = Some(ctx_ok!(self.load_blocks(a, state)));
[INFO] [stdout]     | |                                                        --------------------------
[INFO] [stdout]     | |                                                        |
[INFO] [stdout]     | |                                                        this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     | |                                                        `#43` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 649 | |                     ctx_ok!(self.perform_include(a, state, out, *ignore_missing));
[INFO] [stdout]     | |                             ----------------------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     | |                             `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 656 | |                         module.insert(Value::from(*key), value.clone());
[INFO] [stdout]     | |                         -----------------------------------------------
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     | |                         `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#20` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#23` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `loop_ctx` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `loop_ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `next` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `triple` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#29` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#32` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#32` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#35` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#35` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `func` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#38` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#38` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#41` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#41` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#43` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#43` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#45` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/mod.rs:575:36
[INFO] [stdout]     |
[INFO] [stdout] 198 |                   let jump_target = ctx_ok!(self.prepare_loop_recursion(state));
[INFO] [stdout]     |                                             ----------------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                                             `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                                             `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |                       out.end_capture(AutoEscape::None);
[INFO] [stdout]     |                       ---------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 240 |               let a;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `a` calls a custom destructor
[INFO] [stdout]     |                   `a` will be dropped later as of Edition 2024
[INFO] [stdout] 241 |               let b;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `b` calls a custom destructor
[INFO] [stdout]     |                   `b` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 248 |                       stack.push(ctx_ok!(ops::$method(&a, &b)));
[INFO] [stdout]     |                                               ---------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                               `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                               `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                               `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                               `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                               `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 270 | /                     match $expr {
[INFO] [stdout] 271 | |                         Ok(rv) => rv,
[INFO] [stdout] 272 | |                         Err(err) => bail!(err),
[INFO] [stdout] 273 | |                     }
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     |                       `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 304 |                       ok!(out.write_str(val).map_err(Error::from));
[INFO] [stdout]     |                           ---------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 307 |                       ctx_ok!(self.env.format(&stack.pop(), state, out));
[INFO] [stdout]     |                               -----------------------------------------
[INFO] [stdout]     |                               |                |
[INFO] [stdout]     |                               |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 324 |                       stack.push(match a.get_attr_fast(name) {
[INFO] [stdout]     |                                        ---------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                        `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 325 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 326 |                           None => ctx_ok!(undefined_behavior.handle_undefined(a.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 344 |                       stack.push(match b.get_item_opt(&a) {
[INFO] [stdout]     |                                        ------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 345 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 346 |                           None => ctx_ok!(undefined_behavior.handle_undefined(b.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 357 |                       stack.push(ctx_ok!(ops::slice(a, b, stop, step)));
[INFO] [stdout]     |                                          ----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                          `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 367 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                           `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 376 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                           `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 390 |                       ctx_ok!(self.unpack_list(&mut stack, *count));
[INFO] [stdout]     |                               ------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                               `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 419 |                       ctx_ok!(state.undefined_behavior().assert_iterable(&a));
[INFO] [stdout]     |                               ----------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                               `#20` will be dropped later as of Edition 2024
[INFO] [stdout] 420 |                       stack.push(ctx_ok!(ops::contains(&a, &b)));
[INFO] [stdout]     |                                          ---------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                          `#21` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 424 |                       stack.push(ctx_ok!(ops::neg(&a)));
[INFO] [stdout]     |                                          ------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                          `#22` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |                       ctx_ok!(state.ctx.push_frame(Frame::default()));
[INFO] [stdout]     |                               --------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                               `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 430 |                       if let Some(mut loop_ctx) = state.ctx.pop_frame().current_loop {
[INFO] [stdout]     |                                   ------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `loop_ctx` calls a custom destructor
[INFO] [stdout]     |                                   `loop_ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 448 |                       ctx_ok!(self.push_loop(state, a, *flags, pc, next_loop_recursion_jump.take()));
[INFO] [stdout]     |                               ---------------------------------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                               `#24` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 454 |                       let next = {
[INFO] [stdout]     |                           ----
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `next` calls a custom destructor
[INFO] [stdout]     |                           `next` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 457 |                               let mut triple = l.object.value_triple.lock().unwrap();
[INFO] [stdout]     |                                   ----------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `triple` calls a custom destructor
[INFO] [stdout]     |                                   `triple` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 496 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                           `#25` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 504 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                           `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 510 |                           self.call_block(name, state, out)?;
[INFO] [stdout]     |                           ----------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                           `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                           `#28` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 516 |                       state.auto_escape = ctx_ok!(self.derive_auto_escape(a, initial_auto_escape));
[INFO] [stdout]     |                                                   -----------------------------------------------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                                                   `#29` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 529 |                           ctx_ok!(get_or_lookup_local(&mut loaded_filters, *local_id, || {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]     | |_________________________________|
[INFO] [stdout] 530 | |                             state.env.get_filter(name)
[INFO] [stdout] 531 | |                         })
[INFO] [stdout] 532 | |                         .ok_or_else(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 537 | |                         }));
[INFO] [stdout]     | |                          -
[INFO] [stdout]     | |__________________________|
[INFO] [stdout]     | |__________________________this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                            `#30` will be dropped later as of Edition 2024
[INFO] [stdout] 538 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 539 | |                     a = ctx_ok!(filter.apply_to(state, args));
[INFO] [stdout]     | |                                 ----------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     | |                                 `#31` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 544 |                       let test = ctx_ok!(get_or_lookup_local(&mut loaded_tests, *local_id, || {
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]     | |________________________________________|
[INFO] [stdout] 545 | |                         state.env.get_test(name)
[INFO] [stdout] 546 | |                     })
[INFO] [stdout] 547 | |                     .ok_or_else(|| {
[INFO] [stdout] 548 | |                         Error::new(ErrorKind::UnknownTest, format!("test {name} is unknown"))
[INFO] [stdout] 549 | |                     }));
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |______________________|
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     |                        `#32` will be dropped later as of Edition 2024
[INFO] [stdout] 550 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 551 | |                     let rv = ctx_ok!(test.perform(state, args));
[INFO] [stdout]     | |                                      -------------------------
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |                                      this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     | |                                      `#33` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 564 | |                         stack.push(ctx_ok!(self.perform_super(state, out, true)));
[INFO] [stdout]     | |                                            ------------------------------------
[INFO] [stdout]     | |                                            |
[INFO] [stdout]     | |                                            this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     | |                                            `#34` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |                     } else { match state.lookup(name) { Some(func) => {
[INFO] [stdout]     | |                                    ^^^^^^^^^^^^^^^^^^        ----
[INFO] [stdout]     | |                                    |                         |
[INFO] [stdout]     | |                                    |                         `func` calls a custom destructor
[INFO] [stdout]     | |                                    |                         `func` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                    this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     | |                                    up until Edition 2021 `#46` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 576 | |                         let args = stack.slice_top(*arg_count);
[INFO] [stdout] 577 | |                         a = ctx_ok!(func.call(state, args));
[INFO] [stdout]     | |                                     ----------------------
[INFO] [stdout]     | |                                     |
[INFO] [stdout]     | |                                     this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     | |                                     `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 585 | |                     }}}
[INFO] [stdout]     | |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 589 | |                     a = ctx_ok!(args[0].call_method(state, name, &args[1..]));
[INFO] [stdout]     | |                                 --------------------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     | |                                 `#37` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 595 | |                     a = ctx_ok!(args[0].call(state, &args[1..]));
[INFO] [stdout]     | |                                 -------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     | |                                 `#38` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 603 | |                     stack.pop();
[INFO] [stdout]     | |                     -----------
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     | |                     `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 606 | |                     ctx_ok!(self.perform_super(state, out, false));
[INFO] [stdout]     | |                             -------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     | |                             `#41` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 643 | |                     parent_instructions = Some(ctx_ok!(self.load_blocks(a, state)));
[INFO] [stdout]     | |                                                        --------------------------
[INFO] [stdout]     | |                                                        |
[INFO] [stdout]     | |                                                        this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     | |                                                        `#43` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 649 | |                     ctx_ok!(self.perform_include(a, state, out, *ignore_missing));
[INFO] [stdout]     | |                             ----------------------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     | |                             `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 656 | |                         module.insert(Value::from(*key), value.clone());
[INFO] [stdout]     | |                         -----------------------------------------------
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     | |                         `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#20` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#23` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `loop_ctx` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `loop_ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `next` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `triple` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#29` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#32` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#32` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#35` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#35` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `func` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#38` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#38` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#41` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#41` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#43` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#43` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#45` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/filters.rs:1120:21
[INFO] [stdout]      |
[INFO] [stdout] 1118 |         for value in ok!(state.undefined_behavior().try_iter(value)) {
[INFO] [stdout]      |             -----    -----------------------------------------------
[INFO] [stdout]      |             |        |
[INFO] [stdout]      |             |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |             |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |             `value` calls a custom destructor
[INFO] [stdout]      |             `value` will be dropped later as of Edition 2024
[INFO] [stdout] 1119 |             let test_value = if let Some(ref attr) = attr {
[INFO] [stdout]      |                 ----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `test_value` calls a custom destructor
[INFO] [stdout]      |                 `test_value` will be dropped later as of Edition 2024
[INFO] [stdout] 1120 |                 ok!(value.get_path(attr))
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1121 |             } else {
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 1125 |                 let new_args = Some(test_value)
[INFO] [stdout]      |                     --------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `new_args` calls a custom destructor
[INFO] [stdout]      |                     `new_args` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:149:9
[INFO] [stdout]      |
[INFO] [stdout]  149 |           impl Drop for $E {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:149:9
[INFO] [stdout]      |
[INFO] [stdout]  149 |           impl Drop for $E {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:149:9
[INFO] [stdout]      |
[INFO] [stdout]  149 |           impl Drop for $E {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `test_value` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:149:9
[INFO] [stdout]      |
[INFO] [stdout]  149 |           impl Drop for $E {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `new_args` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:149:9
[INFO] [stdout]      |
[INFO] [stdout]  149 |           impl Drop for $E {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.03s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/filters.rs:1129:21
[INFO] [stdout]      |
[INFO] [stdout] 1125 |                 let new_args = Some(test_value)
[INFO] [stdout]      |                     --------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `new_args` calls a custom destructor
[INFO] [stdout]      |                     `new_args` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1129 |                 ok!(test.perform(state, &new_args))
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1130 |             } else {
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:149:9
[INFO] [stdout]      |
[INFO] [stdout]  149 |           impl Drop for $E {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `new_args` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:149:9
[INFO] [stdout]      |
[INFO] [stdout]  149 |           impl Drop for $E {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:221:10
[INFO] [stdout]      |
[INFO] [stdout]  221 |         &(&{args})[..]
[INFO] [stdout]      |          ^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/argtypes.rs:1065:22
[INFO] [stdout]      |
[INFO] [stdout] 1065 |         let (one,) = from_args::<(Option<i32>,)>(args!(None::<i32>)).unwrap();
[INFO] [stdout]      |                      --------------------------- ------------------ in this macro invocation
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__args_helper` which comes from the expansion of the macro `args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:221:10
[INFO] [stdout]      |
[INFO] [stdout]  221 |         &(&{args})[..]
[INFO] [stdout]      |          ^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/argtypes.rs:1067:22
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         let (one,) = from_args::<(Option<i32>,)>(args!(Some(Value::UNDEFINED))).unwrap();
[INFO] [stdout]      |                      --------------------------- ----------------------------- in this macro invocation
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__args_helper` which comes from the expansion of the macro `args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:9
[INFO] [stdout]     |
[INFO] [stdout]   7 | /         match $expr {
[INFO] [stdout]   8 | |             Ok(val) => val,
[INFO] [stdout]   9 | |             Err(err) => return Err(err),
[INFO] [stdout]  10 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/deserialize.rs:101:38
[INFO] [stdout]     |
[INFO] [stdout] 101 |           while let Some((k, v)) = ok!(map.next_entry()) {
[INFO] [stdout]     |                                    ---------------------
[INFO] [stdout]     |                                    |   |
[INFO] [stdout]     |                                    |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    |   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    in this macro invocation
[INFO] [stdout] 102 |               rv.insert(k, v);
[INFO] [stdout]     |               ---------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 103 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |           impl Drop for $E {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object: Send + Sync => DynObject(DynObjectVT) {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `ok` which comes from the expansion of the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: unified-minijinja v0.0.2 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking unified-minijinja v0.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: lint `where_clauses_object_safety` has been removed: converted into hard error, see PR #125380 <https://github.com/rust-lang/rust/pull/125380> for more information
[INFO] [stdout]    --> src/lib.rs:199:10
[INFO] [stdout]     |
[INFO] [stdout] 199 | #![allow(where_clauses_object_safety)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `where_clauses_object_safety` has been removed: converted into hard error, see PR #125380 <https://github.com/rust-lang/rust/pull/125380> for more information
[INFO] [stdout]    --> src/lib.rs:199:10
[INFO] [stdout]     |
[INFO] [stdout] 199 | #![allow(where_clauses_object_safety)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]     --> src/macros.rs:221:12
[INFO] [stdout]      |
[INFO] [stdout]  221 |         &(&{args})[..]
[INFO] [stdout]      |            ^^^^^^    - temporary value is freed at the end of this statement
[INFO] [stdout]      |            |
[INFO] [stdout]      |            creates a temporary value which is freed while still in use
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/argtypes.rs:1065:22
[INFO] [stdout]      |
[INFO] [stdout] 1065 |         let (one,) = from_args::<(Option<i32>,)>(args!(None::<i32>)).unwrap();
[INFO] [stdout]      |                      --------------------------- ------------------ in this macro invocation
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]      = note: this error originates in the macro `$crate::__args_helper` which comes from the expansion of the macro `args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]     --> src/macros.rs:221:12
[INFO] [stdout]      |
[INFO] [stdout]  221 |         &(&{args})[..]
[INFO] [stdout]      |            ^^^^^^    - temporary value is freed at the end of this statement
[INFO] [stdout]      |            |
[INFO] [stdout]      |            creates a temporary value which is freed while still in use
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/argtypes.rs:1067:22
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         let (one,) = from_args::<(Option<i32>,)>(args!(Some(Value::UNDEFINED))).unwrap();
[INFO] [stdout]      |                      --------------------------- ----------------------------- in this macro invocation
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]      = note: this error originates in the macro `$crate::__args_helper` which comes from the expansion of the macro `args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/vm/context.rs:297:22
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn pop_frame(&mut self) -> Frame {
[INFO] [stdout]     |                      ^^^^^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn pop_frame(&mut self) -> Frame<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/value/deserialize.rs:423:31
[INFO] [stdout]     |
[INFO] [stdout] 423 | fn value_to_unexpected(value: &Value) -> de::Unexpected {
[INFO] [stdout]     |                               ^^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 423 | fn value_to_unexpected(value: &Value) -> de::Unexpected<'_> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `unified-minijinja` (lib test) due to 2 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "b01983eadf2206d821a0f124769ae173883e3cb21c097091d5146a81f654fe9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b01983eadf2206d821a0f124769ae173883e3cb21c097091d5146a81f654fe9d", kill_on_drop: false }`
[INFO] [stdout] b01983eadf2206d821a0f124769ae173883e3cb21c097091d5146a81f654fe9d
